package com.java.d8_mytest_ysy.demo4;

import java.io.File;

public class Test {
    public static void main(String[] args) {
        File file=new File("D:\\1");
        boolean b = deleteDir(file);
        System.out.println(b);
    }
    // 1、定义删除文件夹的方法deleteDir
    public static boolean deleteDir(File file){
        if (!file.exists()) {
            return false;
        }
        //1.1、获取源文件夹中的所有的文件和文件夹对应的File对象数组
        File[] files = file.listFiles();
        //1.2、判断,如果File对象数组是null或者没有内容,删除目录,结束方法
        if (files== null&&files.length==0) {
            return file.delete();
        }
        //1.3、遍历File对象数组
        for (File file1 : files) {
        //1.4、判断,如果当前File对象是文件,调用delete方法,删除文件
            if (file1.isFile()) {
                return file1.delete();
            }
        //1.5、判断,如果当前File对象是文件夹,递归调用调用deleteDir方法,传递当前File对象
        //1.6、循环结束,删除调用方法传递的文件夹File对象
            else {
                return deleteDir(file1);
            }
        }
        return file.delete();
    }
}
